package leetcode_0978

// 1. 顺序排除法，模拟实现大小大|小大小的方式
func maxTurbulenceSize(arr []int) int {

	// 最大湍流长度 | 临时湍流长度 | 数组长度
	maxLength, tmpLength, length := 1, 1, len(arr)
	if length <= 0 {
		return 0
	}

	// 遍历
	for i := 0; i < length-1; i++ {
		tmpLength++

		// 连续小
		if arr[i] < arr[i+1] && (i != 0 && arr[i-1] < arr[i]) {
			tmpLength = 2
		} else if arr[i] > arr[i+1] && (i != 0 && arr[i-1] > arr[i]) { // 连续大
			tmpLength = 2
		} else if arr[i] == arr[i+1] { // 相等
			tmpLength = 1
		}

		if maxLength < tmpLength {
			maxLength = tmpLength
		}
	}

	return maxLength
}
